home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-12-31 | 69.8 KB | 2,401 lines |
-
-
-
-
-
-
-
-
-
-
- RRRRRR OOOOO SSSSS
- RR RR OOO OOO SS SS
- RR RR OO OO SS
- RR RR OO OO SS
- RRRRRR OO OO SSSSS
- RRRR OO OO SS
- RR RR OO OO SS
- RR RR OOO OOO SS SS
- RR RR OOOOO SSSSS
-
- Remote Operating System
-
-
- S Y S T E M O P E R A T I O N S G U I D E
-
-
-
- Steven Fox
-
-
- Albuquerque, New Mexico
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Remote Operating System - ROS System Operations Guide
-
- Copyright (c) 1985, 1986 by Steven Fox. All rights reserved.
-
- You may freely copy and distribute this software and documenta-
- tion only in its original, unmodified state.
-
- Free, public access bulletin boards are welcome to use this
- system without charge. Systems which assess a fee are considered
- commercial. The license fee for commercial and govenmental or-
- ganizations is $35 (an invoice is provided at the end of this
- document). Commercial distribution and site licenses are avail-
- able. Other than reasonable copying charges, no remuneration may
- be accepted by any party other than the copyright holder.
-
- Please refer all inquiries and comments about ROS to
-
- Sysop
- Albuquerque ROS
- (505)299-5974
- 300/1200/2400 bps, no parity, 8 bit characters, 1 stop bit
-
-
- License fees should be sent to
-
- Steven Fox
- 2112 White Cloud NE
- Albuquerque, NM 87112
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T A B L E O F C O N T E N T S
-
- 1. HISTORY AND ACKNOWLEDGEMENTS...............................1
-
- 2. MINIMUM SYSTEM.............................................2
-
- 3. FILES......................................................3
-
- 4. INSTALLING ROS.............................................4
- 4.1. Message and file area control file - AREA.ROS.........4
- 4.2. ROS configuration file - CONFIG.ROS...................7
- 4.3. Troubleshooting the modem interface..................13
- 4.4. System message file - SYSMTXT.ROS....................13
- 4.5. Other files used by ROS..............................14
-
- 5. USING THE SYSTEM..........................................15
- 5.1. Logging in the first time............................15
- 5.2. Status line..........................................15
- 5.3. When ROS is idling between users.....................16
- 5.4. Local console commands...............................16
- 5.4.1. Using ROS locally.............................16
- 5.4.2. Direct connection.............................16
- 5.4.3. Delayed disable...............................16
- 5.4.4. Disable remote I/O............................17
- 5.4.5. Sysop initiated CHAT..........................17
- 5.4.6. Signal key....................................17
- 5.4.7. Twit key......................................17
- 5.4.8. Shutdown ROS..................................17
-
- 6. MAINTENANCE...............................................18
- 6.1. Sysop Sub-system.....................................18
- 6.2. <A>udit trail toggle.................................19
- 6.3. <C>opy file..........................................19
- 6.4. <D>elete file........................................19
- 6.5. <E>dit user record...................................19
- 6.5.1. <D>elete record...............................19
- 6.5.2. <E>dit record.................................19
- 6.5.3. <N>ext record.................................20
- 6.5.4. <P>revious record.............................20
- 6.5.5. <Q>uit edit session...........................20
- 6.5.6. <R>egistered record...........................20
- 6.5.7. <S>elect record...............................20
- 6.5.8. <V>alidate record.............................20
- 6.6. <L>ist system files..................................20
- 6.6.1. <A>ll system files............................20
- 6.6.2. <L>og file....................................21
- 6.6.3. <M>essages....................................21
- 6.6.4. <Q>uit........................................21
- 6.7. <N>ewin file edit....................................21
- 6.8. <O> Macro operations.................................21
- 6.9. <P>urge files........................................23
-
-
- i
-
-
-
-
-
-
-
-
-
-
-
-
- 6.10. <R>edirect file.....................................23
- 6.11. <S>ystem directory..................................23
- 6.12. <T>oggle printer....................................23
- 6.13. Other commands available to the sysop...............24
- 6.13.1. <F>ile Transfer System......................24
- 6.13.2. <M>essage System............................24
- 6.13.3. <U>tility System............................24
- 6.13.4. <G>oodbye (logoff)..........................24
- 6.13.5. User command enhancements...................24
-
- 7. SECURITY..................................................26
-
- 8. OTHER VERSIONS OF ROS.....................................27
- 8.1. ROS Index Builder - RIB..............................27
-
- 9. ROS USAGE AND PROBLEM REPORT..............................28
-
- 10. INVOICE...................................................30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ii
-
-
-
-
-
-
-
-
-
-
-
-
- L I S T O F F I G U R E S
-
- 4-1: Simple modem initialization command string...............12
- 4-2: Complete modem initialization command string.............12
-
- 6-1: Sysop Sub-System.........................................18
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iii
-
-
-
-
-
-
-
-
-
-
-
-
- L I S T O F T A B L E S
-
- 3-1: Files included with ROS-PC................................3
- 3-2: Files required for conversion from ROS version 3.5........3
-
- 4-1: AREA.ROS file (split between columns 62 and 63)...........5
- 4-2: Positional fields in AREA.ROS file........................5
- 4-3: Required entries in AREA.ROS..............................6
- 4-4: Configuration Parameters..................................8
- 4-5: Configuration Parameters (continued)......................9
- 4-6: Configuration Parameters (continued).....................10
- 4-7: Configuration Parameters (concluded).....................11
- 4-8: Files used by ROS........................................14
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iv
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 1. HISTORY AND ACKNOWLEDGEMENTS
-
- The original SJBBS, written in Xitan Basic by Howard Moulton, was
- adapted to MBasic by Bruce R. Ratoff. Modifications to this
- system were made by Bruce Ratoff, James Underwood, Ron Fowler,
- Brett Berg, and many, many others. James Whorton and Eddie H.
- Curlin converted RBBS to Turbo Pascal (copyright Borland Interna-
- tional) in 1984 and called the system TPBBS.
-
- ROS version 1.0 (originally released as "TBBS23" but changed to
- "ROS" to avoid confusion with TPBBS with which it shares no code)
- was written by Steven Fox using ideas gathered from these systems
- and from others operating on a wide variety of computers. Ver-
- sion 2.0 used indexed file support using B+ trees. Version 3.0
- incorporated all the communication and file transfer functions to
- eliminate the need for support from programs such as "XMODEM" and
- "BYE." Though originally tied to CP/M-80, modified versions were
- made to run under other operating systems. Version 3.5 was built
- to operate under PC DOS. Version 3.6 provides improved archive
- support as well as several new functions for the sysop.
-
- ROS would not have been possible were it not for the work of the
- many individuals dedicated to making the concept of public access
- telecommunications work.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 2. MINIMUM SYSTEM
-
- ROS version 3.6 is designed to operate on an IBM PC, or very
- compatible computer, with at least 128K of memory. Version 2.0
- or later DOS is required. No support programs are required when
- ROS is running, though file and text managers such as CWEEP, ARC
- and PC-WRITE are useful for some off-line maintenance functions.
-
- ROS has been tested under versions 3.1 and 3.2 of PC DOS and is
- aware of some multi-tasking operating shells such as DESQview.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 3. FILES
-
- Table 3-1 lists the files that are included with this version of
- ROS. Table 3-2 lists the files that are needed to update pre-
- vious ROS. These files will also serve as the prototype for
- conversion from systems other than ROS.
-
-
-
-
- ROS.COM Main executable code for ROS
- ROS.000 Overlay files
- ROS.001
- ROS.002
-
- RIB.COM ROS Index Builder
-
- AREA.ROS Sample area file
- CONFIG.ROS Sample system configuration file
- MACROS.ROS Sample macro file
- SYSMTXT.ROS Sample message file
-
- RO-PIF.DVP DESQview program information file
-
- ROSUSR.DOC User's Guide
- ROSOPS.DOC System Operations Manual (this document)
-
- Table 3-1: Files included with ROS-PC
-
-
-
-
- ROS35-36.COM ROS file conversion utility
- ROS36.NEW Text file describing the changes to ROS
-
- Table 3-2: Files required for conversion from ROS version 3.5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 4. INSTALLING ROS
-
- ROS is already installed for the display on most IBM and compat-
- ible computers and does not require a graphics or color adapter.
- Three text files are used to match ROS to your message and file
- structure, modem, and personal preferences.
-
- The first of these three files, "AREA.ROS" describes the message
- and file structure, i.e. what message and file areas are avail-
- able and what access levels are required. "CONFIG.ROS" contains
- many parameters to set the system limits. The third file,
- "SYSMTXT.ROS" is the system message file. It contains the mes-
- sages, bulletins, and menus sent to the user during various
- phases of operation. Each file is described in more detail in
- the following sections.
-
- The only change that you should have to make to your system is to
- include the statement "FILES = 20" in your CONFIG.SYS file. This
- will allow ROS to open all the files it needs to operate. If you
- already have a "FILES" statement with a value greater than 20,
- you don't need to change it. Please refer to your DOS manual for
- more information about the CONFIG.SYS file (not to be confused
- with the CONFIG.ROS file).
-
- 4.1. Message and file area control file - AREA.ROS
-
- The message and file area control file, AREA.ROS is used to
- control access to specific file and message areas. A sample of
- the area file is shown in table 4-1. Table 4-2 lists each field
- and the field positions.
-
- The entries shown in the table 4-1 are expected by ROS and must
- be present in the area file. The message area for POST and the
- directory path to LOGIN and NEWIN may be changed to any value.
- The access levels for these entries may also be set to any value.
- Table 4-3 describes each of these entries in more detail.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
-
- Column 1 2 3 4 5 6
- 12345678901234567890123456789012345678901234567890123456789012
-
- MAIL Mail addressed to you
- SENT Mail and messages you have sent
- WORLD Public messages from all areas
- SYSTEM System wide message access
- POST Trading Post - Buy, Sell, Trade
- LOGIN Login area
- NEWIN ** New uploads **
-
- Column 7
- 3456789012345678
-
- 10 0
- 10 0
- 10 0
- 255 0
- 10 1
- 10 C:\ROS\LOGIN
- 20 C:\ROS\NEWIN
-
- Table 4-1: AREA.ROS file (split between columns 62 and 63)
-
-
-
- Area name 1-12
- Area description 13-62
- Access level required 63-65
- Must be blank 66
- DOS directory path, or 67-131
- Message area number
-
-
- Table 4-2: Positional fields in AREA.ROS file
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
-
- MAIL When the user logs into this message area, ROS will
- build a list of the mail addressed to that user.
- The message area number should be "0" and the
- access level should be set low enough that unvali-
- dated users have access.
-
- SENT This message area is used to access messages and
- mail the user has sent. The message area number
- and access level should be set as in "MAIL."
-
- WORLD This is not a single message area but a cross-
- section of the various message areas to which the
- user has access, not including "MAIL" and "SENT."
- The access level is ignored. Instead, ROS uses the
- access level for each individual message area to
- determine if the user has access to a message. The
- message area number should be "0."
-
- SYSTEM This message area is special since ALL mail and
- messages, regardless of the sender and addressee,
- (including those that have been deleted but not yet
- purged) will be included. THE ACCESS LEVEL OF THIS
- AREA SHOULD BE SET HIGH ENOUGH THAT NORMAL USERS DO
- NOT HAVE ACCESS. The access level defined for
- "AltSysop" (see CONFIG.ROS) is recommended.
-
- LOGIN This is the file area that every user "sees"
- initially. The access level should be set low
- enough that new users have access on their first
- call ("0" is recommended).
-
- POST This is the message area that every user "sees"
- initially. The access level should be set low
- enough that new users have access on their first
- call ("0" is recommended).
-
- NEWIN This is the file area into which uploads will be
- placed. The access level of this area may be any
- value.
-
-
- Table 4-3: Required entries in AREA.ROS
-
-
-
-
-
-
-
-
-
- 6
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- NOTE: AREA.ROS should NOT have extra lines after the last line of
- information. In addition, unlike the system message file de-
- scribed in section 4.4, ROS cannot process high-order bits in the
- text of this file, so an editor must be used which does not use
- these bits. WordStar, in non-document mode, or other commercial
- and public-domain editors may be used.
-
- 4.2. ROS configuration file - CONFIG.ROS
-
- Table 4-4 lists the parameters which tailor ROS for your system.
- These parameters should be consolidated into the file CONFIG.ROS
- which will be interpreted during the initial startup - while the
- signon window is displayed. The file consists of entries with
- two components: the parameter and the value. In addition, com-
- ments, starting with a semi-colon (";"), may be freely included
- in the file. If a parameter is not included in the file, or if
- the file is not found, ROS will use a default value for each
- parameter not explicitly described.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
-
- Parameter Default Notes
-
- SysName Name to be listed in the system
- directory.
- HDPark 0 Number of hard disk drives to park
- (seek to an unused track) when wai-
- ting for a caller. This value may
- be set to "0" (to inhibit the park
- function), "1", or "2" (to park 1 or
- 2 disk drives).
- TimeoutShort 60 Short timeout in seconds. This is
- the period allowed callers to com-
- plete their login and the length of
- time to wait for a keystroke during
- the login process. Since many users
- will set their modem on auto-dial
- and leave, it does not need to be
- very long.
- TimeoutLong 300 Long timeout in seconds. This is
- the period ROS will wait for a key-
- stroke once the user has completed
- the login process.
- DefAcc 10 New user access level. This is the
- access level assigned to first-time
- callers.
- RegAcc 11 Registered user access level. This
- is the access level assigned to the
- user when the registration informa-
- tion is completed. ROS does not
- check for content during the regi-
- stration process, only that the user
- at least tried.
- ValAcc 20 Validated user access level. This
- is the access level assigned when
- the <V>alidate user command is se-
- lected from the sysop sub-system.
- DirAcc 20 System directory access level. File
- areas with this access level or
- lower will be included in the system
- directory. Normally this will be
- the same as "ValAcc" (above) but
- there may be special situations
- which require this flexibility.
-
-
-
-
- Table 4-4: Configuration Parameters
-
-
-
- 8
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
- AltSysop 250 Alternate sysop access level. Users
- with this access level or higher can
- perform any operation on the system
- except <C>opy and <D>elete files in
- the sysop sub-system.
- PriSysop 255 Primary sysop access level. Users
- with this access level or higher
- (255 is the limit) can do anything
- on the system.
- LPDAcc 250 The time limit is per day for users
- below this access level. At or
- above this level, the limit is per
- call.
- DefTime 15 Default time limit. This is the
- time allotted first time callers.
- ValTime 45 Time limit for validated users.
- When users are validated, their
- access level will be increased to
- this value.
- DefChars 80 Default characters per line. This
- value will be inserted in the user
- record as the number of characters
- per line. The user can change this
- value in the Utility sub-system.
- DefLines 23 Default lines per page. Similar to
- "DefChars."
- DefMsgArea POST Default message area. Until changed
- by the user, this will be the
- message area they first see when
- calling the system.
- DefFilArea LOGIN Default file area. Similar to
- "DefMsgArea."
- ChatStart 19 Chat period start time. From this
- hour (24 hour clock) until "ChatEnd"
- ROS will signal the sysop by ringing
- the console bell when the user re-
- quests chat from the Utility sub-
- system. During other hours, ROS
- will just offer to save a message.
- ChatEnd 22 Chat period ending time.
- ChatSignals 10 Number of times to signal local
- console. Each attempt takes
- approximately 6 seconds.
- Fence | Character between directory columns.
- It can be any printable character,
- including a blank (" ").
-
-
- Table 4-5: Configuration Parameters (continued)
-
-
-
- 9
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
- UnvDays 7 Days to retain unvalidated user.
- When the sysop function to <P>urge
- users is selected, ROS will delete
- all unvalidated users that have not
- called the system in "UnvDays."
- ValDays 180 Days to retain validated users.
- Similar to "UnvDays" but for vali-
- dated users. For more information,
- refer to the sysop <P>urge command.
- ReadDays 10 Days to retain read, undeleted mail
- (private messages). Mail that has
- been read but not deleted will be
- purged this number of days after
- entry.
- UnrdDays 90 Days to retain unread, undeleted
- messages. Any message, public or
- private, will be purged this number
- of days after entry.
- MaxTries 3 Max number of tries for password.
- If the user cannot enter their pass-
- word in "MaxTries" attempts, ROS
- will offer to leave a message and
- then disconnect.
- CharMask 7 Text may either be stripped to seven
- bit characters or left alone. If a
- text editor, such as WordStar in
- document mode, is used for
- SYSMTXT.ROS, "7" bits should be used
- to prevent sending non-ASCII
- characters. If eight-bit graphics
- characters are desired, "8" should
- be selected.
- ComPort 1 Port to be used for all modem I/O
- (either "1" or "2" may be used).
- ComParity N Parity to set port. The following
- characters may be used:
- "N" => None
- "E" => Even
- "O" => Odd
- ComLength 8 Number of bits in characters to be
- received and transmitted.
- ComStop 1 Number of stop bits in each
- character.
- CmndReset AT Z{ Modem reset string - sent ONCE at
- startup.
- RespReset OK Expected response string from modem
- to indicate successful reset.
-
- Table 4-6: Configuration Parameters (continued)
-
-
-
- 10
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
- WaitReset 5 Seconds to wait before assuming
- failure.
- CmndInit AT E1 H0 Q0 S0=0 V1 X1 {
- Modem initialization string - sent
- before EACH call to ensure the modem
- is ready for the next call.
- RespInit OK Response if successful.
- WaitInit 5 Seconds to wait for success.
- CmndBusy AT H1{ Make line busy.
- RespBusy OK Response if successful.
- WaitBusy 5 Seconds to wait for success.
- CmndLocal ~~~+++ Return modem to local mode (escape
- code).
- RespLocal OK Response if successful.
- WaitLocal 5 Seconds to wait for success.
- CmndHangup AT H{ Disconnect - hangup.
- RespHangup OK Response if successful.
- WaitHangup 5 Seconds to wait for success.
- RespRing RING Ring signal detected.
- WaitRing 2 Seconds to wait for success.
- CmndAnswer AT A{ Answer call - pick up phone.
- RespAnswer Response if successful.
- WaitAnswer 5 Seconds to wait for success.
- RespConnect CONNECT 1200 Connect message. This is the first
- of three baud rates supported by
- ROS. In addition to being used for
- communication with remote users, it
- will be used for off-line communica-
- tion with your modem and should
- usually be the fastest speed the
- modem can handle.
- RateConnect 1200 Rate to set the communications port
- when this message is received from
- the modem.
- RespConnect CONNECT Connect message.
- RateConnect 300 Rate to set for this message.
- RespConnect CONNECT Connect message.
- RateConnect 300 Rate to set for this message.
- WaitConnect 35 Seconds to wait for connect message.
- RespError ERROR Error in command execution. This is
- the message sent by the modem when
- an error is detected.
-
- Table 4-7: Configuration Parameters (concluded)
-
-
-
-
-
-
-
-
- 11
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- In the modem command strings described in table 4-4, a left brace
- ("{") is used to send a carriage return to the modem. A tilde
- ("~") causes a delay for 1/2 second before continuing. For
- example, "~~~+++" delays for 1 1/2 seconds, and then sends "+++"
- to the modem. Command strings may be up to 40 characters long,
- responses may be as long as 12 characters.
-
- The simple modem initialization string listed in table 4-4 for
- "CmndInit" works on many modems. Figure 4-1 gives a description
- of each element in the string. More sophisticated modems may be
- able to handle the initialization string described in figure 4-2.
-
-
-
- |get modem's attention
- | |modem should echo characters when off-line
- | | |ensure phone hung up
- | | | |return result codes ("Resp---")
- | | | | |disable auto answer
- | | | | | |verbose result codes
- | | | | | | |enable extended command set
- | | | | | | | |command termiator
- AT E1 H0 Q0 S0=0 V1 X1 {
-
- Fig. 4-1: Simple modem initialization command string
-
-
-
-
- |get attention
- | |echo commands
- | | |ensure phone hung up
- | | | |return result codes
- | | | | |disable auto answer
- | | | | | |time to wait for DCD
- | | | | | | |return verbose result codes
- | | | | | | | |extended command set
- | | | | | | | | |speaker off
- | | | | | | | | | |command terminator
- AT E1 H0 Q0 S0=0 S7=15 V1 X6 M0 {
-
- Fig. 4-2: Complete modem initialization command string
-
-
- Some modems respond with "OFF HOOK" when issued the command
- "ATA". Those that do may need the following definition:
-
- RespAnswer OFF HOOK Response if successful
-
-
-
-
-
- 12
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 4.3. Troubleshooting the modem interface
-
- The single most troublesome area of installation will almost
- certainly be getting the modem to work properly since
- "compatible" modems almost never are. Even different models made
- by the same manufacturer frequently respond differently to com-
- mands. Sometimes the differences are marked, such as "NO DIAL
- TONE" instead of "DIAL TONE." More often, the differences are
- subtle, such as whether the modem returns a CR/LF before and
- after verbal responses. One modem does on some responses and not
- on others. Another modem even changes baud rate WHILE IT IS
- SENDING the response to the computer! ROS is designed to be
- robust in the way it handles the modem and "hooks" are provided
- to be able to get to almost everything the modem and ROS need.
-
- Nonetheless, experimentation will almost certainly be required to
- get a new modem operational. Start with the simplest command
- string that works and add to it if necessary. Usually, the
- initialization string will require the most work. Except for the
- reset string ("CmndReset"), all commands should be echoed by the
- modem so that ROS can verify correct reception.
-
- To assist in setting up your modem, the command line parameter
- "/h" may be used to open a two line window at the top of the
- screen. In this window, ROS will display all ASCII characters
- that are sent to and received from the modem. When you are
- satisfied that ROS and the modem are communicating properly, just
- start ROS without this parameter.
-
- 4.4. System message file - SYSMTXT.ROS
-
- SYSMTXT.ROS, the system message file, should be edited for your
- particular system. A sample file is included as a guideline.
- ROS can process SYSMTXT.ROS files created by text editors - such
- as WordStar in document mode - which use the high bit of charac-
- ters. When ROS is started, it looks for SYSMIDX.ROS. If found,
- it will be used as an index into the text file. If it is not
- found, ROS will create it from SYSMTXT.ROS. When you change
- SYSMTXT.ROS, ROS will detect the changes and automatically re-
- build SYSMIDX.ROS.
-
- Since many messages are used during operation, SYSMTXT.ROS is
- divided into sections. Each section starts with a colon (":") in
- column one, followed by a unique two character identifier.
- Please refer to the sample text file for all the identifiers
- currently recognized.
-
-
-
-
-
-
-
- 13
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 4.5. Other files used by ROS
-
- When the area, configuration, and system message files are ready,
- ROS can be started. If it cannot find the files it expects, it
- will create them. Table 4-5 lists the files ROS uses and a brief
- description of their function.
-
-
- AREA.ROS See section 4.1 for a complete description
-
- CONFIG.ROS See section 4.2 for a complete description
-
- SYSMTXT.ROS See section 4.4 for a complete description
-
- SYSMIDX.ROS Index file into SYMSTXT.ROS.
-
- LOG.ROS Log of activities on the system.
-
- MACRO.ROS This is a text file that may be edited outside
- of ROS or with the macro functions in the
- sysop sub-system. Since most communication
- packages now include scripts, macros, or the
- equivalent, ROS only supports this feature for
- the sysop.
-
- MESSAGE.ROS This file contains the text of messages and
- mail.
-
- SUMMARY.ROS This file contains the header and subject
- information for the messages and mail.
-
- NEWIN.ROS This file contains the descriptions for files
- uploaded to the system. It is displayed using
- the <N>ewin command in the file sub-system and
- is edited using the <N>ewin command in the
- sysop sub-system.
-
- STATS.ROS This file contains the various counters used
- by ROS to keep track of users, callers, time
- usage, etc.
-
- USERDAT.ROS These are the user records. To conserve disk
- space, "SUMMARY.ROS", "NEWIN.ROS", and
- "LOG.ROS" maintain pointers into this file
- instead of storing the entire user name.
-
- USERIDX.ROS This is the B+ index file into USERDAT.ROS.
-
-
- Table 4-8: Files used by ROS
-
-
-
- 14
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 5. USING THE SYSTEM
-
- ROS expects to find all files in the file area (sub-directory) in
- which it first starts. It is here that the user files, log file,
- etc. will be maintained. Since ROS provides the sysop with full
- control over who has access to this area through access level,
- two methods protect the ROS system files from users:
-
- 1. do not include this area in the AREA.ROS file, or
- 2. set the access level of this area sufficiently high
- (such as 250 or higher).
-
- In a similar manner, other private areas of the disk system can
- be protected from users. In the example AREA.ROS file, "ROSRUN"
- can only be accessed by the sysop. Other users will not even
- know the area exists.
-
- 5.1. Logging in the first time
-
- CAUTION: It is very important that you log in using the name
- "sysop" before making the system available for others to use.
- Since there are folks out there that will try to log in as sysop,
- if you have not set your password, they will set it for you and
- will consequently have full sysop level access!
-
- When you run ROS the first time, it will create the files it
- needs (even if you are converting from a previous CP/M system,
- ROS will still need to make some files). ROS will signon and let
- you know what files it is making and then get the modem ready.
- When the message "ROS ready..." appears on the status line, ROS
- is in an idling state and is ready for one of two actions:
-
- 1. a signal from the modem indicating an incoming call, or
- 2. a command from the console indicating a local user.
-
- To log in locally, press the carriage return (refer to section
- 5.3.2 for additional information). After the "FIRST name>"
- prompt appears, enter "SYSOP" as your first name. This is a
- special name ROS recognizes and will inhibit display of the "LAST
- name>" prompt. Since this is the first time you have been on the
- system, ROS will prompt for a password - enter one of your
- choice. You are now logged into the system. As the sysop, you
- are automatically assigned an access level as defined in
- CONFIG.ROS for "PriSysop."
-
- 5.2. Status line
-
- When a user is logged into ROS, a status line of the following
- form will be displayed:
-
- Name | City, State | Access level:Time on-Time left | Time of day
-
-
- 15
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 5.3. When ROS is idling between users
-
- When ROS is idling, i.e. waiting for a call, the CRT screen will
- be cleared and a "pulse" indicator will flash to indicate that
- ROS is operational.
-
- 5.4. Local console commands
-
- The local console has several commands, entered by function keys,
- that may be used while the system is idling and while a user is
- logged in remotely. In either condition, pressing function key
- "F1" will display a list of the commands that ROS will accept.
- If ROS is idling, pressing this key will display the following on
- the status line:
-
- F10: Shutdown, C/R: Local use
-
- If the command line parameter "/d" was included when ROS was
- started, the following will be displayed instead:
-
- F2: Direct, F10: Shutdown, C/R: Local use
-
- If a user is logged on remotely, pressing "F1" will display the
- following on the status line:
-
- F3: Delay, F4: Remote, F5: Chat, F6: Signal, F9: Twit
-
- These commands are described in the following sections.
-
- 5.4.1. Using ROS locally
-
- C/R When ROS is idling, pressing the C/R ("Enter") key will take
- the modem off hook and allow you to proceed as if you were a
- remote caller. All operations except file transfer are
- available. In this mode, ROS will assume a connect rate as
- specified by the first "RateConnect" entry in the CONFIG.ROS
- file when displaying file transfer times in a file
- directory.
-
- 5.4.2. Direct connection
-
- F2 When started with the "/d" command line parameter, ROS will
- bypass normal modem commands to allow high-speed direct
- connection to another computer. This command initiates this
- connection at the rate specified by the first "RateConnect"
- entry in the CONFIG.ROS file.
-
- 5.4.3. Delayed disable
-
- F3 This command toggles the system disable function so that
- when the current user logs out, the modem will be made busy
-
-
- 16
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- and the the bell will be sounded to indicate that ROS
- available for local use. The funtion is helpful in getting
- control of a busy system. While the user is still logged
- in, this command may be used to alternately turn the
- function on and off.
-
- 5.4.4. Disable remote I/O
-
- F4 This command alternately disables and re-enables the output
- to the remote system. Disabling the remote I/O is useful
- since local operations can proceed at full speed without
- waiting for the relatively slow modem. With the remote I/O
- disabled, the access level of the system is temporarily set
- to "AltSysop" level. When remote I/O is restored, the
- access level is reinstated to its original value. The
- increased access level is convenient to validate users while
- they are still logged in, move files that the user could not
- otherwise get to, etc.
-
- 5.4.5. Sysop initiated CHAT
-
- F5 ROS will issue a message to the remote user and then enter
- the chat mode. This command bypasses the time-of-day checks
- and may be entered at any time (chat hours are restricted to
- users).
-
- 5.4.6. Signal key
-
- F6 This command turns off the chat signal without any
- indication to the user.
-
- 5.4.7. Twit key
-
- F9 This command will cause ROS to immediately hang up on the
- remote user. While the previous command is preferred to
- gain system access, this command is sometimes necessary.
-
- 5.4.8. Shutdown ROS
-
- F10 When ROS is idling, entering this command will terminate ROS
- operation and return control to the operating system. ROS
- will first ask if the modem should be taken off the hook to
- present a busy signal to users. This is useful when the
- system will be down for a short time.
-
-
-
-
-
-
-
-
-
- 17
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 6. MAINTENANCE
-
- The sysop(s) should regularly use ROS to read mail, validate new
- users, and release (or not) the new files uploaded to the system.
- A check may also be made of other messages and mail to ensure
- that they are appropriate to the philosophy of the system. Be-
- ware of messages and mail which contain credit card numbers,
- computer access codes, or other sensitive information.
-
- Since the message file only marks messages as deleted, it should
- be compressed periodically. A good way to do this is to turn on
- the printer or the audit trail, list the log and message files,
- then turn the printer off and purge the files. This way, a
- hardcopy record is kept of all activity on the system.
-
- Not re-using the message space was a conscious design decision to
- allow the sysop to maintain a history of ALL messages entered on
- the system. The events surrounding MOGUR demonstrate the need.
-
- 6.1. Sysop Sub-system
-
- The sysop command system is accessed by typing "X" at a message,
- file, or utility command sub-system prompt. This command is not
- available to users below the alternate sysop access level
- ("AltSysop" is defined in CONFIG.ROS).
-
- Figure 6-1 lists the sysop sub-system commands. This menu may be
- displayed at any time by entering "?" (without the quotes).
- Subsequent sections describe each command in detail.
-
- Sysop Sub-system
-
- =============== Functions =============== == System Changes ==
-
- <A>udit trail toggle <O> Macro operations <F>ile Sub-System
- <C>opy file <P>urge files <M>essage Sub-System
- <D>elete file <R>edirect file <U>tility Sub-System
- <E>dit user record <S>ystem directory
- <L>ist system files <T>oggle printer <G>oodbye (logoff)
- <N>ewin file edit
-
- Fig. 6-1: Sysop Sub-System
-
-
-
-
-
-
-
-
-
-
-
- 18
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 6.2. <A>udit trail toggle
-
- This command allows you to create a standard ASCII text file from
- any system output. The audit trail file name consists of the
- system date and a numeric extension - starting with zero. For
- example, the first time the audit trail is enabled on the 15th of
- December 1986, the name would be 86-12-15.000. If the audit
- trail were turned off and then back on later in the same day, the
- file name would be 86-12-15.001.
-
- 6.3. <C>opy file
-
- This command is only available to the primary sysop, i.e. the
- individual with an access level of "PriSysop." It is used to
- copy a file from the currently logged file area to another speci-
- fied file area. When the copy is completed successfully, the
- system will ask if the source file should be deleted.
-
- 6.4. <D>elete file
-
- This command is only available to the primary sysop, i.e. the
- individual with an access level of "PriSysop." It is used to
- delete any file from the currently logged file area. Verifica-
- tion is requested before the action takes place.
-
- 6.5. <E>dit user record
-
- When this command is entered the first time, ROS will ask for the
- name of the user to edit. Subsequent entries of this command
- will display the record of the last user edited. The selected
- user record is displayed while ROS waits for a second command.
- The following sections define these secondary commands.
-
- 6.5.1. <D>elete record
-
- ROS will prompt to verify that this is the action desired. If
- so, it will delete the user and any messages addressed to or from
- that user.
-
- 6.5.2. <E>dit record
-
- The cursor will be positioned at the name field for editing using
- commands identical to those used for messages (refer to the ROS
- User's Guide). All fields except the time of last access are
- editable.
-
- ROS does not require precise entry of the user name to find a
- record for editing. It will find the record which is equal to OR
- GREATER THAN the entered name. For example, if you cannot remem-
- ber how John Smith spells his last name, enter "John" for the
- first name and "Smith" for the last name. ROS will find a record
-
-
- 19
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- even if John spells his last name "Smithe."
-
- NOTE: Similar names can result in the display of a record other
- than the one desired. The sysop should verify that the desired
- user record is the one displayed.
-
- 6.5.3. <N>ext record
-
- When this command is entered, ROS will find the next (alphabeti-
- cally) user record and display it for edit.
-
- 6.5.4. <P>revious record
-
- When this command is entered, ROS will find the previous (alpha-
- betically) user record and display it for edit.
-
- 6.5.5. <Q>uit edit session
-
- When all user records have been edited, enter this command and
- ROS will return to the sysop sub-system.
-
- 6.5.6. <R>egistered record
-
- This command will search the user file for the next (alphabetic-
- ally) user that has requested validation. When the user record
- is displayed on the screen, all editing commands are again avail-
- able. When ROS returns to the last user edited or selected, no
- more records have been found.
-
- 6.5.7. <S>elect record
-
- When this command is entered, ROS will prompt for a new user name
- and then display that user for edit.
-
- 6.5.8. <V>alidate record
-
- This command changes the access level and time allowance for the
- user being edited to the values defined in CONFIG.ROS ("ValAcc"
- and "ValTime"). It is more convenient than editing the user and
- can be performed easily from a remote site.
-
- 6.6. <L>ist system files
-
- When this command is entered, four secondary commands may be
- entered to select which file should be listed. The following
- sections define these secondary commands.
-
- 6.6.1. <A>ll system files
-
- This command will list both the log and the message files.
-
-
-
- 20
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 6.6.2. <L>og file
-
- ROS maintains a time and date tagged list of most system opera-
- tions. This command will display this list. From the informa-
- tion contained in this file, the sysop can determine what kind of
- activity the system is being used for, what users seem to be
- having problems, what users are abusing their privileges, etc.
-
- 6.6.3. <M>essages
-
- All messages after the specified date will be displayed in chron-
- ological order.
-
- 6.6.4. <Q>uit
-
- This command will return control to the sysop sub-system.
-
- 6.7. <N>ewin file edit
-
- ROS hides all uploads from directory display until released by
- the sysop. It stores in NEWIN.ROS the name of the uploaded file,
- a short description of the file, the name of the user who sent
- the file, and the time the transfer was completed. This command
- allows the sysop to release the file and description for access
- by normal users, hide the file and description from normal users,
- delete the description (not the file itself), and edit the de-
- scription. Until the file is purged (see Purge), all entries may
- be freely edited by the sysop.
-
- For example, when a user uploads a file, ROS will mark it as
- hidden until the sysop has a chance to review its contents. If
- appropriate, the sysop can release the file for users. At that
- time, not only will the file be available in the NEWIN area for
- downloading, but the description entered at upload time can be
- seen by other users using the <N>ewin command in the files sub-
- system.
-
- When the file has "aged" in the NEWIN area sufficiently, the
- delete command will delete the description and mark the file as
- hidden once again. The sysop file copy command (described later)
- may then be used to move the file to a permanent file area.
-
- 6.8. <O> Macro operations
-
- In addition to being able to read characters from either the
- keyboard or the remote channel, ROS can read from internal char-
- acter strings called "macros." These strings can be used to
- execute any sequence of operations as defined by the sysop.
- Since some of the system maintenance commands can take some time
- to complete, macros can be very convenient.
-
-
-
- 21
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- For example, the sample macro file included with ROS performs the
- following operations:
-
- Macro #1
-
- p Purge
- a All files
- y Yes, really do it
- n No, don't renumber messages
- o Macro operations
- b Begin macro
- 2 Number 2
- ^M Complete number
-
- Macro #2
-
- s Build a system directory
- o Macro operations
- b Begin macro
- 3 Number 3
- ^M Complete number
-
- Macro #3
-
- g Goodbye
- y Yes, really do it
-
- This use of multiple macros is only for demonstration and does
- not imply that you need to use several macros for this type of
- operation.
-
- In addition to the text editing commands described in the User's
- Guide, pressing "B" for <B>egin will cause ROS to prompt for the
- macro number to execute. Since the macro file is a standard text
- file, most text editors and word processors can also be used to
- edit the MACRO.ROS file. High bits in the file, as set by Word-
- Star in document mode, will confuse ROS. WordStar non-document
- mode is fine.
-
- ROS is still monitoring both the local and remote keyboards while
- processing a macro so the sysop can pause (^S) or cancel (^C) a
- command, but macro processing will continue until complete.
-
- Since a carriage return is used to terminate the entry of a new
- macro string, a slash (/) may be entered into the macro. When
- encountered, ROS will convert this character into a carriage
- return. As shown in the example, control characters may be
- entered by prefixing a standard letter with a carat ("^"). For
- example, CTRL-C may be inserted into a macro with the two charac-
- ter string "^C".
-
-
-
- 22
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 6.9. <P>urge files
-
- This command purges and compresses selected files of deleted
- entries. It processes four different files, each selectable by a
- single command, or all four files together. All commands are
- verified before continuing.
-
- Sufficient disk space must be available for these operations or
- ROS will report an error and terminate. Should this happen, ROS
- will automatically recover from the old files the next time it is
- started, but extraneous files may be left on the disk.
-
- Purge All - This command purges all four files, i.e. it
- automatically performs a purge of the log, newin, user, and
- message files.
-
- Purge Log - This command removes all entries from the log
- file.
-
- Purge Newin - This command removes all entries marked
- "deleted" in the newin file.
-
- Purge Messages - As described in the introduction, deleting
- a message only marks that message for delete. To physically
- remove the message from the disk, the message files must be
- purged.
-
- Purge Users - This command deletes all users that have not
- logged in within the times specified at compile time. When
- a user is deleted with this command, ROS will also delete
- any messages sent to or from the user.
-
- 6.10. <R>edirect file
-
- This command moves a file from one area to another using a method
- that is much faster than copying and deleting, but will only work
- if both areas are on the same drive. The command syntax is
- similar to <C>opy, except that after the file has been moved, it
- will no longer exist in the source area so you will not be asked
- if you want to delete it.
-
- 6.11. <S>ystem directory
-
- A directory of all files in areas with access levels of "DirAcc"
- (defined in CONFIG.ROS) or less is built in the LOGIN file area.
- This directory can be used by remote users to speed file download
- operations.
-
-
-
- 6.12. <T>oggle printer
-
-
- 23
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
- The currently assigned LST device is alternately enabled and
- disabled. To prevent inadvertent toggling when no printer is
- connected, this command is verified before continuing.
-
- 6.13. Other commands available to the sysop
-
- Naturally, all the user commands are available to the sysop
- including the ability to return to one of the other three command
- sub-systems. These commands are discussed below as well as some
- enhancements to the commands that normal users have.
-
- 6.13.1. <F>ile Transfer System
-
- This command causes ROS to exit the sysop sub-system and enter
- the file transfer sub-system.
-
- 6.13.2. <M>essage System
-
- This command causes ROS to exit the sysop sub-system and enter
- the message sub-system.
-
- 6.13.3. <U>tility System
-
- This command causes ROS to exit the sysop sub-system and enter
- the utility sub-system.
-
- 6.13.4. <G>oodbye (logoff)
-
- This command terminates the session.
-
- 6.13.5. User command enhancements
-
- In the message sub-system, after reading a message, the sysop
- will be given the option of altering the message area or status
- of the message. The options are as follow:
-
- <D>elete mark message as deleted
- <I>ndividual mark message as private
- <M>ove move message to another message area (ROS
- will prompt for the new area number as
- defined in AREA.ROS)
- <P>ublic mark message as public
- <R>ead mark message as having been read
-
- In the utility sub-system, after displaying the time and date,
- ROS will allow the sysop to set these values.
-
-
-
- When the user list is requested, ROS will allow the sysop to
-
-
- 24
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- enter one of four parameters:
-
- <A>ll list all users
- <E>xceptional list users with an unusual access level or
- time limit,
- <U>nvalidated list unvalidated users only
- <Q>uick produces the listing normal users can see
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 25
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 7. SECURITY
-
- The security of a computer system is of paramount importance when
- that system is readily available through the telephone system.
- To make ROS robust enough to withstand both incorrect entries and
- malicious attacks against the system, a simple but effective
- method is used: an access level, ranging from 0 to 255, is assig-
- ned to each user with system privileges based upon this number.
- In general, the higher the number, the greater the privileges the
- user has.
-
- The following access levels are recommended (set in CONFIG.ROS):
-
- 0-9 Twit - will be logged off immediately
- 10-19 Unvalidated user - limited message and files access
- 11 Registered user - has not yet been validated
- 20-249 Normal user - full message and files access
- 250-254 Alternate sysops
- 255 Primary sysop
-
- The use of alternate sysops allows the primary sysop to get help
- running the system without completely opening it up. While all
- sysops have access to the sysop sub-system, "PriSysop" access
- level is required to copy and delete files. The edit command
- will operate on users of the same or lower access level.
-
- This access level structure allows the primary sysop to affect
- all user records in the system, including his own, but alternate
- sysops can neither affect nor view the record of the primary
- sysop.
-
- CAUTION: Since the primary sysop can edit any user record, please
- take care not to lower your own access level!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 26
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 8. OTHER VERSIONS OF ROS
-
- ROS file update utility - ROS35-36.COM
-
- ROS35-36.COM converts version 3.5 data files into the format
- expected by version 3.6. The original files will still exist but
- with a file extension of "BAK" (backup). Once you are satisified
- that the new files operate correctly, the backup files may be
- deleted.
-
- NOTE: ROS35-36.COM will only operate correctly on standard ver-
- sion 3.5 format files. Attempts to run the program using files
- from other versions of ROS, including version 3.6 or modified
- versions of ROS may result in output files full of junk. If this
- happens, carefully determine which files are correct, the "*.ROS"
- or the "*.BAK" files.
-
- 8.1. ROS Index Builder - RIB
-
- RIB rebuilds an existing ROS user index file and recovers from
- certain types of damage to the user data file. Normally, this
- program is not needed, but there may be times when it can improve
- or even restore system operation.
-
- For example, while ROS re-uses deleted user records and keeps
- USERDAT.ROS and USERIDX.ROS as compact as possible, you may wish
- to use RIB to remove the deleted records from the file.
-
- Another situation when RIB is useful is after a long period of
- activity during which many users have been added to the system
- and many others have been deleted. Using B+ trees, ROS will
- always access the user file in alphabetical order, but it may do
- so with quite a bit of disk activity due to the random nature of
- the user data file. RIB sorts this file to minimize the disk
- thrashing needed for sequential access.
-
- The third situation in which you may need to use RIB should never
- occur, but a disk failure or other serious system problem could
- damage the user data or index file. If you suspect that either
- of these files may be damaged, RIB should be run.
-
- During execution, RIB will display counts of records processed
- and the supported data files it is working on.
-
-
-
-
-
-
-
-
-
-
- 27
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 9. ROS USAGE AND PROBLEM REPORT
-
- Your comments and suggestions are important as they help improve
- and develop ROS. Please feel free to file this report more than
- once. Thanks in advance for taking the time to complete and send
- this questionaire.
-
-
- Your name: Date: / /
-
- Company:
-
- Address:
-
-
-
-
-
- Please give a brief description of how you use ROS:
-
-
-
-
-
- When did you first receive ROS?
-
- Version number?
-
- What type of computer is it used on?
-
- What is your average usage per day?
-
- Do you have any experience with similar products, even on other
- computers?
-
- If so, please describe:
-
-
-
- How long have you been using computers?
-
- Using a scale of 1-10 (1=very bad, 10=very good), please indicate
- your feelings about the following:
-
- The system performance:
-
- The system operations manual:
-
- The user manual:
-
- The ease of use:
-
-
- 28
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
-
- The practicality or usefulness of this product:
-
- Your overall satisfaction:
-
- The overall satisfaction of your users:
-
-
- What would you say are the BEST features of ROS?
-
-
-
-
- What would you say are the WORST features of ROS?
-
-
-
-
- List any extraneous or useless features:
-
-
-
-
- List any enhancements you would like to see added:
-
-
-
-
- Describe any problems you have encountered, including examples if
- possible:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 29
-
-
-
-
-
-
-
-
-
- ROS System Operations Guide
-
-
- 10. INVOICE
-
-
-
- Steven Fox Date: / /
- 2112 White Cloud NE
- Albuquerque, NM 87112
-
-
-
- Name, address, phone:
-
-
-
-
-
-
- Product Quantity Price Each Total
-
-
-
- ROS license fee ____ @ $35.00 = ______
-
-
- Total: ______
-
-
- Please make checks payable to Steven Fox.
-
- Retain a copy of this invoice for your records.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 30
-
-
-
-
-
-
-
-
-
- Retain a copy of this invoice for your records.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-